/**
 * 代码生成类型枚举
 * 与后端 CodeGenTypeEnum 保持一致
 */
export const CodeGenTypeEnum = {
  HTML: {
    text: '原生 HTML 模式',
    value: 'html'
  },
  MULTI_FILE: {
    text: '原生多文件模式',
    value: 'multi_file'
  },
  VUE_PROJECT: {
    text: '原生 Vue 项目',
    value: 'vue_project'
  }
} as const

/**
 * 获取所有生成类型选项
 */
export const getCodeGenTypeOptions = () => {
  return Object.values(CodeGenTypeEnum).map(type => ({
    label: type.text,
    value: type.value
  }))
}

/**
 * 根据类型值获取显示文本
 */
export const getCodeGenTypeText = (value: string) => {
  const type = Object.values(CodeGenTypeEnum).find(type => type.value === value)
  return type ? type.text : value || '原生多文件模式'
}

/**
 * 根据类型值获取颜色
 */
export const getCodeGenTypeColor = (value: string) => {
  const colors: Record<string, string> = {
    html: 'orange',
    multi_file: 'blue',
    vue_project: 'green'
  }
  return colors[value] || 'default'
}
